#include <iostream>
using namespace std;
const int N = 200003, null = 0x3f3f3f3f; // 大于20e5的最小质数

// h[N]哈希表
int h[N];
int find(int x)
{
    int k = (x % N + N) % N;          // k哈希函数处理
    while (h[k] != null && h[k] != x) // 该位置上有数并且不为x
    {
        k++;
        if (k == N) // 如果已经看完了第一个那就从0开始看（循环）
            k = 0;
    }
    return k;
}
int main()
{
    int n;
    scanf("%d", &n);
    memset(h, 0x3f, sizeof(h)); // 用来存储数而不是链表了所以不能是-1
    // 每个字节处理成0x3f，其实就是0x3f3f3f

    while (n--)
    {
        char op[2];
        int x;
        scanf("%s%d", op, &x);

        int k = find(x); // 定位x存储的位置
        if (*op == 'I')
            h[k] = x;
        else
        {
            if (h[k] != null)
                puts("Yes");
            else
                puts("No");
        }
    }
    return 0;
}